Communication networks provide a means by which various forms of communication, such as voice calls, text messages, and e-mails, may be sent from a sender to a receiver. Such networks include, among others, Public Switched Telephone Networks (PSTN), Global System for Mobile communication (GSM) networks, and IP Multimedia Subsystem (IMS) networks, all of which are well known in the art. Important functions of these networks include allowing or refusing access to the networks and routing communications to their proper destinations while heeding network and user preferences. Network policies establish rules to be applied by a network to ensure that such security and routing functions are executed properly. However, with the rapid evolution of the networks and especially features provided by the networks, existing policies quickly become outdated. Thus, the evolving networks constantly demand new and updated policies.
Developing and implementing a new policy requires a significant amount of time and money. FIG. 1 illustrates a typical development cycle 100 for the development and implementation of a new policy. In this example, a new feature for a network is requested in step 102. Accordingly, in step 104, a design team works to develop a new policy, or set of rules, that when implemented will provide the requested feature. The design stage is often complex and time-consuming, requiring developmental meetings among engineers, presentations to managers, and, finally, approval. Once the design stage is complete, the new policy is then implemented in step 106. Implementation may require database schema changes, network signaling development, and network Operations, Administration, and Maintenance (OAM) development. After the new policy is implemented, it must be tested in step 108 to ensure proper performance and compatibility with the network. If testing is not completed successfully, it will likely be necessary to return to the design stage (step 104) or implementation stage (step 106). Finally, once testing is successfully completed, a network provider or other entity performs the provisioning stage in step 110, whereby the network provider provisions, on network nodes, such as routers, data necessary for the new policy.
The development cycle 100 outlined above illustrates the great length of time required for developing and implementing a new policy. As the increasing rate of evolution of the networks demands new policies at a faster rate, development cycle 100 is clearly too slow. The slow development process coupled with the rapid evolution of the networks imposes significant burdens on everyone involved with the development and upkeep of the networks. In addition, the traditional development cycle 100 is not cost efficient. The cycle 100 requires numerous professionals with a detailed understanding of the networks to develop and implement new policies. Furthermore, due to the length of the development, once a policy is finally implemented it may have a very short lifetime before it also becomes outdated. Finally, the cycle 100 requires a new policy to pass through many hands, and thus is very error prone. Errors in the development cycle 100 are also very costly to correct.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and compute readable media for implementing a policy for a router.